home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / strucpgm.arc / BLACKJAC.INT < prev    next >
Text File  |  1987-06-09  |  7KB  |  342 lines

  1.       4 DIM AA%(52,2)
  2.     504 COMMON AA%()
  3.    1001 GOTO!$1
  4.    1002 ::
  5.    1003 A%(17)=1
  6.    1004 FOR AA%=1 TO 4 STEP 1
  7.    1005 A%(15)=AA%
  8.    1006 FOR AB%=1 TO 13 STEP 1
  9.    1007 A%(16)=AB%
  10.    1008 AA%(A%(17),1)=A%(16)
  11.    1009 AA%(A%(17),2)=A%(15)
  12.    1010 A%(17)=A%(17)+1
  13.    1011 NEXT
  14.    1012 NEXT
  15.    1013 RETURN
  16.    1014 :
  17.    1015 GOTO!$2
  18.    1016 ::
  19.    1017 FOR AC%=52 TO 1 STEP -1
  20.    1018 A%(20)=AC%
  21.    1019 RANDOMIZE VAL(RIGHT$(TIME$,2))
  22.    1020 A%(18)=AA%(A%(20),1)
  23.    1021 A%(19)=AA%(A%(20),2)
  24.    1022 A%(21)=INT(RND*52)+1
  25.    1023 AA%(A%(20),1)=AA%(A%(21),1)
  26.    1024 AA%(A%(20),2)=AA%(A%(21),2)
  27.    1025 AA%(A%(21),1)=A%(18)
  28.    1026 AA%(A%(21),2)=A%(19)
  29.    1027 A%(3)=1
  30.    1028 NEXT
  31.    1029 RETURN
  32.    1030 :
  33.    1031 GOTO!$3
  34.    1032 ::
  35.    1033 LOCATE A%(9),A%(8)
  36.    1034 PRINT " _______"
  37.    1035 LOCATE A%(9)+1,A%(8)
  38.    1036 PRINT "|       |"
  39.    1037 LOCATE A%(9)+2,A%(8)
  40.    1038 PRINT "|       |"
  41.    1039 LOCATE A%(9)+3,A%(8)
  42.    1040 PRINT "|       |"
  43.    1041 LOCATE A%(9)+4,A%(8)
  44.    1042 PRINT "|       |"
  45.    1043 LOCATE A%(9)+5,A%(8)
  46.    1044 PRINT "|_______|"
  47.    1045 RETURN
  48.    1046 :
  49.    1047 GOTO!$4
  50.    1048 ::
  51.    1049 LOCATE 2,1
  52.    1050 PRINT "         mmmmmmmm"
  53.    1051 PRINT "      /~~~~~~~~~~~~\"
  54.    1052 PRINT "     /              \"
  55.    1053 PRINT "     |              |"
  56.    1054 PRINT "    (|              |"
  57.    1055 PRINT "     |       _\     |"
  58.    1056 PRINT "     |              |"
  59.    1057 PRINT "      \     ===    /"
  60.    1058 PRINT "        \_________/"
  61.    1059 RETURN
  62.    1060 :
  63.    1061 GOTO!$5
  64.    1062 ::
  65.    1063 LOCATE 4,7
  66.    1064 PRINT "            "
  67.    1065 LOCATE 5,7
  68.    1066 PRINT "  ~o~    ~o~ "
  69.    1067 RETURN
  70.    1068 :
  71.    1069 GOTO!$6
  72.    1070 ::
  73.    1071 LOCATE 8,12
  74.    1072 PRINT " ___"
  75.    1073 LOCATE 9,12
  76.    1074 PRINT "(___)"
  77.    1075 FOR AD%=1 TO 50 STEP 1
  78.    1076 A%(2)=AD%
  79.    1077 NEXT
  80.    1078 LOCATE 8,12
  81.    1079 PRINT "      "
  82.    1080 LOCATE 9,12
  83.    1081 PRINT " === "
  84.    1082 FOR AE%=1 TO 50 STEP 1
  85.    1083 A%(2)=AE%
  86.    1084 NEXT
  87.    1085 RETURN
  88.    1086 :
  89.    1087 GOTO!$7
  90.    1088 ::
  91.    1089 LOCATE 4,7
  92.    1090 PRINT "~~~  \ / ~~~"
  93.    1091 LOCATE 5,7
  94.    1092 PRINT "  o        o"
  95.    1093 GOSUB 1070
  96.    1094 LOCATE 23,1
  97.    1095 PRINT " PLAYER"
  98.    1096 GOSUB 1070
  99.    1097 LOCATE 23,10
  100.    1098 PRINT "WINS   "
  101.    1099 FOR AF%=1 TO 1000 STEP 1
  102.    1100 A%(1)=AF%
  103.    1101 NEXT
  104.    1102 LOCATE 23,1
  105.    1103 PRINT "                            "
  106.    1104 GOSUB 1062
  107.    1105 RETURN
  108.    1106 :
  109.    1107 GOTO!$8
  110.    1108 ::
  111.    1109 GOSUB 1070
  112.    1110 LOCATE 23,1
  113.    1111 PRINT "DEALER"
  114.    1112 GOSUB 1070
  115.    1113 LOCATE 23,8
  116.    1114 PRINT "WINS"
  117.    1115 LOCATE 9,12
  118.    1116 PRINT "\___/"
  119.    1117 FOR AG%=1 TO 1000 STEP 1
  120.    1118 A%(10)=AG%
  121.    1119 NEXT
  122.    1120 LOCATE 9,12
  123.    1121 PRINT " === "
  124.    1122 LOCATE 23,1
  125.    1123 PRINT "                            "
  126.    1124 RETURN
  127.    1125 :
  128.    1126 GOTO!$9
  129.    1127 ::
  130.    1128 IF A%(6)>1 THEN 1130
  131.    1129 GOTO!$10
  132.    1130 IF A%(6)<10 THEN 1132
  133.    1131 GOTO!$12
  134.    1132 A$(3)=CHR$(A%(6)+48)
  135.    1133 GOTO!$13
  136.    1134 :
  137.    1135 :
  138.    1136 IF A%(6)=10 THEN 1138
  139.    1137 GOTO!$14
  140.    1138 A$(3)="10"
  141.    1139 GOTO!$15
  142.    1140 :
  143.    1141 :
  144.    1142 IF A%(6)=11 THEN 1144
  145.    1143 GOTO!$16
  146.    1144 A$(3)="J"
  147.    1145 A%(6)=10
  148.    1146 GOTO!$17
  149.    1147 :
  150.    1148 :
  151.    1149 IF A%(6)=12 THEN 1151
  152.    1150 GOTO!$18
  153.    1151 A$(3)="Q"
  154.    1152 A%(6)=10
  155.    1153 GOTO!$19
  156.    1154 :
  157.    1155 :
  158.    1156 IF A%(6)=13 THEN 1158
  159.    1157 GOTO!$20
  160.    1158 A$(3)="K"
  161.    1159 A%(6)=10
  162.    1160 GOTO!$21
  163.    1161 :
  164.    1162 :
  165.    1163 GOTO!$11
  166.    1164 :
  167.    1165 A$(3)="A"
  168.    1166 IF A%(14)+11>21 THEN 1168
  169.    1167 GOTO!$22
  170.    1168 A%(6)=1
  171.    1169 GOTO!$23
  172.    1170 :
  173.    1171 A%(6)=11
  174.    1172 A$(6)="Y"
  175.    1173 :
  176.    1174 :
  177.    1175 A%(14)=A%(14)+A%(6)
  178.    1176 IF A%(14)>21 THEN 1178
  179.    1177 GOTO!$24
  180.    1178 IF A$(6)="Y" THEN 1180
  181.    1179 GOTO!$26
  182.    1180 A%(14)=A%(14)-10
  183.    1181 A$(6)="N"
  184.    1182 GOTO!$27
  185.    1183 :
  186.    1184 :
  187.    1185 GOTO!$25
  188.    1186 :
  189.    1187 :
  190.    1188 RETURN
  191.    1189 :
  192.    1190 GOTO!$28
  193.    1191 ::
  194.    1192 A%(4)=A%(4)+1
  195.    1193 A%(9)=14
  196.    1194 A%(8)=A%(4)*13-3
  197.    1195 GOSUB 1032
  198.    1196 LOCATE 17,A%(4)*13
  199.    1197 PRINT A$(3)
  200.    1198 RETURN
  201.    1199 :
  202.    1200 GOTO!$29
  203.    1201 ::
  204.    1202 A%(5)=A%(5)+1
  205.    1203 A%(9)=5
  206.    1204 A%(8)=A%(5)*13+8
  207.    1205 GOSUB 1032
  208.    1206 LOCATE 8,A%(5)*13+11
  209.    1207 PRINT A$(3)
  210.    1208 RETURN
  211.    1209 :
  212.    1210 GOTO!$30
  213.    1211 ::
  214.    1212 A%(6)=AA%(A%(3),1)
  215.    1213 IF A$(1)="D" THEN 1215
  216.    1214 GOTO!$31
  217.    1215 A%(14)=A%(13)
  218.    1216 A$(6)=A$(5)
  219.    1217 GOSUB 1127
  220.    1218 A%(13)=A%(14)
  221.    1219 A$(5)=A$(6)
  222.    1220 GOSUB 1201
  223.    1221 GOTO!$32
  224.    1222 :
  225.    1223 A%(14)=A%(12)
  226.    1224 A$(6)=A$(4)
  227.    1225 GOSUB 1127
  228.    1226 A%(12)=A%(14)
  229.    1227 A$(4)=A$(6)
  230.    1228 GOSUB 1191
  231.    1229 :
  232.    1230 A%(3)=A%(3)+1
  233.    1231 IF A%(3)>52 THEN 1233
  234.    1232 GOTO!$33
  235.    1233 GOSUB 1016
  236.    1234 GOTO!$34
  237.    1235 :
  238.    1236 :
  239.    1237 RETURN
  240.    1238 :
  241.    1239 A%(7)=1000
  242.    1240 GOSUB 1002
  243.    1241 GOSUB 1016
  244.    1242 IF A%(7)>0 THEN 1243 ELSE GOTO!$35
  245.    1243 FOR AI%=1 TO 50 STEP 1
  246.    1244 A%(1)=AI%
  247.    1245 PRINT " "
  248.    1246 NEXT
  249.    1247 GOSUB 1048
  250.    1248 GOSUB 1062
  251.    1249 LOCATE 2,50
  252.    1250 PRINT " CREDIT ......$ "
  253.    1251 LOCATE 2,66
  254.    1252 PRINT A%(7)
  255.    1253 GOSUB 1070
  256.    1254 LOCATE 23,1
  257.    1255 PRINT "PLACE "
  258.    1256 GOSUB 1070
  259.    1257 LOCATE 23,7
  260.    1258 PRINT "YOUR "
  261.    1259 GOSUB 1070
  262.    1260 LOCATE 23,12
  263.    1261 PRINT "BET "
  264.    1262 LOCATE 23,17
  265.    1263 INPUT A%(11)
  266.    1264 LOCATE 23,1
  267.    1265 PRINT "                          "
  268.    1266 A%(4)=0
  269.    1267 A%(5)=0
  270.    1268 A%(12)=0
  271.    1269 A%(13)=0
  272.    1270 A$(4)="N"
  273.    1271 A$(5)="N"
  274.    1272 A$(1)="P"
  275.    1273 GOSUB 1211
  276.    1274 A$(1)="D"
  277.    1275 GOSUB 1211
  278.    1276 A$(1)="P"
  279.    1277 GOSUB 1211
  280.    1278 A$(1)="D"
  281.    1279 GOSUB 1211
  282.    1280 A$(1)="P"
  283.    1281 GOSUB 1070
  284.    1282 LOCATE 23,1
  285.    1283 PRINT "STAY "
  286.    1284 GOSUB 1070
  287.    1285 LOCATE 23,6
  288.    1286 PRINT "OR "
  289.    1287 GOSUB 1070
  290.    1288 LOCATE 23,9
  291.    1289 PRINT "HIT "
  292.    1290 LOCATE 23,14
  293.    1291 INPUT A$(2)
  294.    1292 LOCATE 23,1
  295.    1293 PRINT "                      "
  296.    1294 IF A$(2)="H" THEN 1295 ELSE GOTO!$36
  297.    1295 GOSUB 1211
  298.    1296 IF A%(12)<21 THEN 1298
  299.    1297 GOTO!$37
  300.    1298 GOSUB 1070
  301.    1299 LOCATE 23,1
  302.    1300 PRINT "STAY "
  303.    1301 GOSUB 1070
  304.    1302 LOCATE 23,6
  305.    1303 PRINT "OR "
  306.    1304 GOSUB 1070
  307.    1305 LOCATE 23,9
  308.    1306 PRINT "HIT "
  309.    1307 LOCATE 23,14
  310.    1308 INPUT A$(2)
  311.    1309 LOCATE 23,1
  312.    1310 PRINT "                       "
  313.    1311 GOTO!$38
  314.    1312 :
  315.    1313 A$(2)="S"
  316.    1314 :
  317.    1315 GOTO 1294
  318.    1316 :
  319.    1317 A$(1)="D"
  320.    1318 IF A%(12)<22 295 ELSE GOTO!$36
  321.    1295 GOSUB 1211
  322.    1296 IF A%(12)<21 THEN 1298
  323.    1297 GOTO!$37
  324.    1298 GOSUB 1070
  325.    1299 LOCATE 23,1
  326.    1300 PRINT "STAY "
  327.    1301 GOSUB 1070
  328.    1302 LOCATE 23,6
  329.    1303 PRINT "OR "
  330.    1304 GOSUB 1070
  331.    1305 LOCATE 23,9
  332.    1306 PRINT "HIT "
  333.    1307 LOCATE 23,14
  334.    1308 INPUT A$(2)
  335.    1309 LOCATE 23,1
  336.    1310 PRINT "                       "
  337.  1337 A%(7)=A%(7)+A%(11)
  338.    1338 GOTO!$45
  339.    1339 :
  340.    1340 IF A%(12)<=A%(13) THEN 1342
  341.    1341 GOTO!$46
  342.    1342 GOSUB 1108